<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>setsid</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font></center><hr size=2 noshade>
<h4><a name = "tag_000_008_492">&nbsp;</a>NAME</h4><blockquote>
setsid - create session and set process group ID
</blockquote><h4><a name = "tag_000_008_493">&nbsp;</a>SYNOPSIS</h4><blockquote>
<pre><code>

#include &lt;<a href="systypes.h.html">sys/types.h</a>&gt;
#include &lt;<a href="unistd.h.html">unistd.h</a>&gt;

pid_t setsid(void);
</code>
</pre>
</blockquote><h4><a name = "tag_000_008_494">&nbsp;</a>DESCRIPTION</h4><blockquote>
The
<i>setsid()</i>
function creates a new session, if the calling process
is not a process group leader.
Upon return the calling process will be the session leader of
this new session, will be the process group leader of a new
process group, and will have no controlling terminal.
The process group ID of the calling process will be set equal to
the process ID of the calling process.
The calling process will be the only process in the new process
group and the only process in the new session.
</blockquote><h4><a name = "tag_000_008_495">&nbsp;</a>RETURN VALUE</h4><blockquote>
Upon successful completion,
<i>setsid()</i>
returns the value of the process group ID of the calling process.
Otherwise it returns (<b>pid_t</b>)-1 and sets
<i>errno</i>
to indicate the error.
</blockquote><h4><a name = "tag_000_008_496">&nbsp;</a>ERRORS</h4><blockquote>
The
<i>setsid()</i>
function will fail if:
<dl compact>

<dt>[EPERM]<dd>
The calling process is already a process group leader, or the
process group ID of a process other than the calling process
matches the process ID of the calling process.

</dl>
</blockquote><h4><a name = "tag_000_008_497">&nbsp;</a>EXAMPLES</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_008_498">&nbsp;</a>APPLICATION USAGE</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_008_499">&nbsp;</a>FUTURE DIRECTIONS</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_008_500">&nbsp;</a>SEE ALSO</h4><blockquote>
<i><a href="getsid.html">getsid()</a></i>,
<i><a href="setpgid.html">setpgid()</a></i>,
<i><a href="setpgrp.html">setpgrp()</a></i>,
<i><a href="systypes.h.html">&lt;sys/types.h&gt;</a></i>,
<i><a href="unistd.h.html">&lt;unistd.h&gt;</a></i>.
</blockquote><h4>DERIVATION</h4><blockquote>
Derived from the POSIX.1-1988 standard.
</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>

